package com.xhu.collegestudentrentalsystem.module.user.service;

import com.xhu.collegestudentrentalsystem.module.user.entity.Comment;
import com.xhu.collegestudentrentalsystem.module.user.entity.DiscussPost;
import com.xhu.collegestudentrentalsystem.module.user.entity.Page;

import java.util.List;

/**
 * @author zhu huilin
 * @date 2023/4/2 11:01
 */
public interface IDiscussPostService {
    /**
     * 查询帖子列表
     */
    public List<DiscussPost> findDiscussPostByUserId(Page page, Integer hotPost);

    /**
     * 添加一条帖子信息
     */
    public Integer addDiscussPost(String title, String content, Long userId);

    /**
     * 根据帖子id查询帖子信息
     */
    public DiscussPost findDiscussPostById(Long discussPostId, Page page);

    /**
     * 新增一条评论信息
     */
    public Integer addComment(Comment comment);

    /**
     * 修改帖子状态（0-正常;1-精华;2-拉黑/删除）
     */
    public Integer updateDiscussPostStatus(Long discussPostId, Integer status);

    /**
     * 修改帖子类型（0-普通；1-置顶）
     */
    public DiscussPost updateDiscussPostType(Long discussPostId);

    /**
     * 修改帖子状态为精华、普通
     */
    public DiscussPost updateDiscussPostCream(Long discussPostId);

    /**
     * 点赞操作
     */
    public void like(Long entityId, Integer entityType, Long userId);

    /**
     * 查询点赞数量
     */
    public Long findLikeCount(Long entityId, Integer entityType);

    /**
     * 查询点赞状态
     */
    public Integer findLikeStatus(Long entityId, Integer entityType, Long userId);

    /**
     * 搜索帖子
     */
    public List<DiscussPost> findDiscussPostByKeyword(Page page, String keyword);
}
